package com.itheima.controller.v1.api;

import com.itheima.common.R;
import com.itheima.common.RoleResult;
import com.itheima.common.UserResult;
import com.itheima.pojo.SysRole;
import com.itheima.pojo.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

@Api("系统管理相关接口")
public interface SystemControllerApi {
    @ApiOperation(value = "左侧部门导航栏接口")
    public R deptTreeSelect();

    @ApiOperation(value = "用户分页接口")
    public R userList(Integer pageNum, Integer pageSize, SysUser sysUser);

    @ApiOperation(value = "用户新增接口")
    public R addUser(@RequestBody SysUser sysUser);

    @ApiOperation(value = "角色岗位查询接口")
    public UserResult findRoleAndPost();

    @ApiOperation(value = "用户修改数据回显接口")
    public UserResult findById(@PathVariable Long userId);

    @ApiOperation(value = "用户修改接口")
    public R modify(@RequestBody SysUser sysUser);

    @ApiOperation(value = "用户删除接口")
    public R delete(@PathVariable Long userId);

    @ApiOperation(value = "用户状态修改接口")
    public R modifyStatus(@PathVariable Integer number, Long userId);

    @ApiOperation(value = "用户密码重置接口")
    public R resetPassword(@PathVariable Long userId, String password);

    @ApiOperation(value = "角色分页接口")
    public R roleList(Integer pageNum, Integer pageSize, SysRole sysRole);

    @ApiOperation(value = "菜单导航栏接口")
    public R menuTreeSelect();

    @ApiOperation(value = "角色添加接口")
    public R addRole(@RequestBody SysRole sysRole);

    @ApiOperation(value = "角色信息回显接口")
    public RoleResult findRoleById(@PathVariable Long roleId);

    @ApiOperation(value = "角色信息修改接口")
    public R modify(@RequestBody SysRole sysRole);

    @ApiOperation(value = "角色删除接口")
    public R deleteRole(@PathVariable Long roleId);
}
